// 放入通用验证
// file:我们要检查的文件
//  condition：用什么样的条件去检查
interface CheckCondition {
    format?: string[]//图片格式
    size?: number //每个上传图片的尺寸以兆为单位（mb）
}
type ErrorType = 'size' | 'format' | null

export function beforUploadCheck(file: File, condition: CheckCondition) {
    const { format, size } = condition
    const isValidFormat = format ? format.includes(file.type) : true
    const isValidSize = size ? (file.size / 1024 / 1024 < size) : true

    let error: ErrorType = null
    if (!isValidFormat) {
        error = 'format'
    }
    if (!isValidSize) {
        error = 'size'
    }
    return {
        passed:isValidFormat && isValidSize,
        error
    }
}